package org.ramalho;

/**
 *
 * @author Luciano G. S. Ramalho - n.USP 1002101
 */

public class Celula<T> implements Comparable<Celula<T>> {
    Celula<T> próxima;
    T carga;
    Celula() {
        carga = null;
        próxima = null;
    }
    Celula(T t) {
        carga = t;
        próxima = null;
    }
    Celula(T t, Celula<T> próxima) {
        carga = t;
        this.próxima = próxima;
    }
    public int compareTo(Celula<T> outra) {
        if ((carga instanceof Comparable) && (outra.carga instanceof Comparable))
            return ((Comparable)carga).compareTo((Comparable)(outra.carga));
        else
            throw new ClassCastException("elemento nao implementa Comparable");
    }
}